package fr.miage.financier;


/**
 * Classe Convertisseur qui va permettre de faire la conversion
 * @author amabon
 */
public class Convertisseur {

 


  public Devise deviseEntree;
  public Devise deviseArrivee;
  public TauxDeConversion taux;
/**
 * Constructeur de la classe COnvertisseur
 * @param DeviseEntree : Devise en entrée ( du montant que l'on veeut convertir)
 * @param DeviseArrivee : Devise dans laquelle on veut convertir le montant
 * @param tx : le taux utilisé pour rélaiser la conversion
 */
    public Convertisseur(Devise maDeviseEntree, Devise maDeviseArrivee, TauxDeConversion monTaux) {
        this.deviseEntree = maDeviseEntree;
        this.deviseArrivee = maDeviseArrivee;
        this.taux = monTaux;
    }
/**
 * Retourne la devise d'arrivée
 * @return
 */
    public Devise getDeviseArrivee() {
        return deviseArrivee;
    }
/**
 * Modifie la devise d'arrivé
 * @param DeviseArrivee
 */
    public void setDeviseArrivee(Devise maDeviseArrivee) {
        this.deviseArrivee = maDeviseArrivee;
    }
/**
 * Retourne la devise de départ
 * @return
 */
    public Devise getDeviseEntree() {
        return deviseEntree;
    }
/**
 * Modifie la devise de départ
 * @param DeviseEntree
 */
    public void setDeviseEntree(Devise maDeviseEntree) {
        this.deviseEntree = maDeviseEntree;
    }
/**
 * Retourne le taux de conversion
 * @return
 */
    public TauxDeConversion getTx() {
        return taux;
    }
/**
 * Modifie le taux de conversion
 * @param tx
 */
    public void setTx(TauxDeConversion monTaux) {
        this.taux = monTaux;
    }

/**
 * Fait la conversion d'un montant passé en paramètre. Retourne un Integer
 * @param montant
 * @return
 */
    public Integer convertir(Integer montant) {
       Integer monTaux;
       if(this.deviseArrivee != this.deviseEntree){
            if(montant.byteValue() != 0 || montant != 0){
                 monTaux = this.taux.getValeurTaux();
                 return montant * monTaux;
            }else{
                return 0;
            }
       }else{
           return 0;
       }
    }
}